package cn.kone.remote.fallback;

import cn.kone.remote.api.BigdataFeignApi;
import cn.kone.remote.result.DriverPointResult;
import cn.kone.result.JSONResult;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;

import java.util.List;

/**
 * 实现 FallbackFactory 接口，用于创建 BigdataFeignApi 的降级实例
 * @Component 声明为 Spring 组件，使得该类能够被 Spring 容器管理
 */
@Component
public class BigdataFeignApiFallback implements FallbackFactory<BigdataFeignApi> {
    @Override
    // 当 Feign 调用失败时，create 方法会被调用，返回一个 BigdataFeignApi 的降级实例
    public BigdataFeignApi create(Throwable cause) {
        return new BigdataFeignApi() {

            @Override
            public JSONResult<List<DriverPointResult>> getPoints(String orderNo) {
                return JSONResult.error("服务器忙~~~");
            }
        };
    }
}
